home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Supervisor's Toolkit
/
Network Supervisor's Toolkit.iso
/
communic
/
comroute
/
comroute.txt
< prev
next >
Wrap
Text File
|
1996-07-10
|
21KB
|
719 lines
COMROUTE
A MODEM SHARING PROGRAM
FOR NOVELL NETWARE IPX
NETWORKS
VERSION 1.00
11/3/95
Copyright c 1995 by R J Crowther
TRADEMARKS
Netware, Netware Lite, Personal Netware and Novell are
registered trademarks and IPX is a trademark of Novell, Inc.
Microsoft and MS-DOS are registered trademarks and Windows
and Windows for Workgroups are trademarks of Microsoft
Corporation.
PKUNZIP is a trademark of PKWARE, Inc.
INTRODUCTION
COMROUTE allows a number of workstations attached to a
Novell network to share a modem or other serial (RS-232) device
attached to a COM port.
Network users are used to the concept of sharing resources : that
is the fundamental reason for networking. Novell networks
provide sophisticated facilities for sharing storage devices and
printers, but not for serial devices such as modems.
The "Novell networks" on which COMROUTE works include all
those based on the IPX protocol. These include all versions of
Netware, Netware Lite and Personal Netware.
This version of COMROUTE does not include support for
NETBIOS networks such as Windows for Workgroups. A future
version of COMROUTE for NETBIOS may be released if there
is user demand.
Most network applications involve the concept of one or more
"clients" or resource users, and "servers" or resource providers.
COMROUTE is no different, and has two main parts, OFFER
which is the server and CAPTURE which is the client. Note that
neither part runs on a Novell 2.x , 3.x or 4.x file server - both are
DOS programs which run on workstations.
OFFER "takes over" a comms port on the server workstation,
and allows clients running "CAPTURE" on other workstations to
connect to it. Each copy of OFFER captures a single comms port,
and only one client may connect at one time. Both OFFER and
CAPTURE are Terminate and Stay Resident programs. This
means that the server workstation (as well as the client) can be
used as normal while servicing the comms port.
Port configuration such as baud rate, number of data bits and so
on are automatically handled by the programs.
A utility program "UTIL" allows the user to display configuration
and statistics, and to unload OFFER or CAPTURE from
memory.
INSTALLATION
Installing the software is simply a matter of using PKUNZIP to
extract the files into your preferred directory. PKUNZIP is not
included as part of the package, but is available as Shareware.
The COMROUTE software makes no assumptions as to the
location of the files, and they can be loaded on a file server if
required.
SOFTWARE LICENCE
SHAREWARE VERSION
You may install and use this software for 60 days for the purpose
of evaluating it. If you find the software useful you must register
it, otherwise you must discontinue using it after this period. You
are encouraged to copy and share this software, but this
documentation must be included. The software has specific
limitations set out below.
Support is not guaranteed for the Shareware version.
Please support the concept of Shareware by purchasing the
registered version if you use COMROUTE beyond the evaluation
period.
REGISTERED VERSION
You are licenced to use this software on a single network. Any
number of clients may access a single modem or serial port,
however one licence must be purchased for each shared modem
or serial port operated simultaneously.
Support is available to registered users via post or e-mail. See the
separate Support section.
Free distribution of this version to third parties is not permitted.
Please note- the registered software is serial-numbered.
Licence violations across a single LAN are detected by the
software.
SHAREWARE VERSION LIMITATIONS
The shareware version has the following limitations :
1) The baud rate is limited to 9600. Any higher baud rate
which is requested will default to a setting of 9600 baud.
2) The server will cease to operate after 1 hour - it will
disconnect from any active clients, and refuse further
connections. The server will also decline to unload,
meaning that to re-activate it the server will have to be re-
booted. The normal operation of the server PC will
otherwise be unaffected.
DISCLAIMER
The author does not accept any responsibility for loss or damage,
direct or consequential, arising from the use of this product, nor
from the inability to use it for any reason.
In any case, the author's liability will be limited to the sum paid
for the licence to use the product.
QUICK START
Here is the quick way to get started :
Assuming you have a modem attached to a workstation via a
serial port connected to COM1: and a fully configured serial
cable allowing hardware handshaking. The client software will
emulate COM1.
1) On the PC with the modem attached (the server) enter
OFFER -c1 -nModem -fh1
-c1 specifies COM1
-nModem sets the server name for this port
-fh1 enables hardware flow control in
RTS/CTS mode
2) On the PC which is to be the client enter
CAPTURE -c1 -nModem
-c1 specifies that COM1 is to be
emulated
-nModem sets the server to connect to
3) On the client PC start and configure your comms software
to use INT14 and (in this case) port 1.
4) Communicate !
GENERAL DESCRIPTION
TSR Operation
Both OFFER and CAPTURE programs operate as Terminate
and Stay Resident (TSR) programs in DOS, each occupying
about 20K of memory. Once each is loaded, it continues to run
by processing when DOS is idle, allowing other programs to be
loaded. The Novell client programs (NETX or VLM) operate in
the same way.
OFFER "takes over" the specified serial port on the server
workstation. Incoming data from the port is sent to a client
workstation running CAPTURE while data from the client is sent
to the port.
Both OFFER and CAPTURE are Windows compatible.
Network Communication
The communications between OFFER and CAPTURE are
implemented by sending IPX data packets between the
workstations. These packets contain data as well as control and
configuration information (such as the baud rate).
Note that both OFFER and CAPTURE must be on a single
network segment, that is no network bridges or routers, or file
servers acting as bridges, may intervene between the
workstations. A future version may remove this limitation.
INT 14 Interface
How it works
CAPTURE talks to your communications programs via the INT-
14 interface. INT-14 is a hang-over from the earlier days of PCs,
as it is the BIOS interface used to talk to the serial ports. In fact,
the INT-14 BIOS services proved too slow to be of practical use,
as they did not use interrupt processing, so most software vendors
wrote code to directly interface to the serial port hardware. This
was unfortunate, since the BIOS was supposed to insulate
programmers from the specifics of the hardware. However, the
BIOS interface suits our purpose, as INT-14 calls can be
redirected to a program such as CAPTURE, and this allows the
"real" serial hardware to be on a different PC altogether.
Performance is not likely to become a problem, provided the
network is not overloaded, since Ethernet for example runs at
least 100 times faster than a PC serial port can.
OFFER uses interrupt-driven serial port handlers to ensure that
high serial data rates can be accommodated without problems.
For best performance at higher speeds, 16550 FIFO-buffered
UARTS are fully supported. In most cases even at 19.2k baud,
COMROUTE performance will be indistinguishable from direct
hardware connection.
Of course, your communications software must support the INT-
14 BIOS interface to be useable with COMROUTE, but many
current programs have this option.
Int 14 Port Number
When you start CAPTURE, you specify a port number with the
"-c" option. The communications program you are using needs to
be configured to use the same port number.
CAPTURE can use any port number between 1 and 9, but not all
comms software packages do. Since ports 1 to 4 are likely to be
"real" comms ports on the client PC, it is best to use port
numbers in the range 5 to 9 provided the comms software
supports them.
As an example, WinCIM has a "LAN" setting in the Session
settings window when you select Int14 as the comms port.
Using Windows
Both OFFER and CAPTURE are compatible with all versions of
Windows. In either case, the TSR program must be loaded in
DOS before Windows is started.
OFFER may suffer performance degradation when some
Windows programs are run. The performance can often be
improved by changing the "INT28FILTER=" setting in the
[STANDARD] section of the SYSTEM.INI file to a lower value
(the default is 10).
CAPTURE supports Windows programs which are capable of
using the INT-14 interface.
Loading in High Memory
Both CAPTURE and OFFER can be loaded in high memory
above 640K if your 386 memory manager supports this.
Flow Control
Flow control is the method by which the flow of data between
serial devices is regulated. This allows devices that can process
incoming data at different rates to hold up the flow of data until
they can "catch up". COMROUTE can use four flow control
modes. Each of the modes is "bi-directional" - OFFER uses flow
control to prevent its own buffers overflowing and also responds
to flow control from the connected device.
OFFER and CAPTURE have data buffers of the following sizes
(not configurable) :
OFFER transmit buffer (data to port) : 1024 bytes
OFFER receive buffer (data from port) : 1024 bytes
CAPTURE receive buffer (data from port) : 512 bytes
CAPTURE transmit buffer (data to port) : 256 bytes
No flow control :
No action is taken if comms buffers overflow, and data
may be lost. However, this mode may be suitable for
block data transmission (e.g. XMODEM), where the data
block size is small enough to fit in OFFER's data buffers.
Software flow control (XON/XOF)
The software sends an XOF to interrupt the flow of
incoming data when its buffers fill up. It sends an XON to
restart data flow.
If an XOF is received, no further data is transmitted until
an XON arrives.
Hardware flow control (RTS/CTS)
The software controls RTS to stop the flow of incoming
data when its buffers fill up.
The software reacts to CTS to control the transmission of
data.
This is the most common form of hardware handshaking,
and is suitable for use with most modems.
Hardware flow control (DTR/DSR)
The software controls DTR to stop the flow of incoming
data when its buffers fill up.
The software reacts to DSR to control the transmission of
data.
OFFER
Function
OFFER is the server program in the COMROUTE package. It
runs on a PC which has a modem or other serial device attached
to one of its serial ports. Other PCs (clients) may then attach to
and utilise this port.
OFFER should generally be started before any clients attempt to
attach to it.
Parameters
-n<name> Sets the name by which the port will be known to
the network. Up to 16 characters may be used -
case is significant.
Default if this parameter is omitted is "Comms".
-c<port> Sets the port number to be utilised. Ports COM1
to COM4 may be specified. DOS default settings
for port address and IRQ will be used unless
specified by the -a and -I parameters.
The default port if this parameter is omitted is
COM1.
Defaults addresses and IRQs are :
COM1 address 3F8, IRQ 4
COM2 address 2F8, IRQ 3
COM3 address 3E8, IRQ 4
COM4 address 2E8, IRQ 3
-a<address> Sets a non-standard port I/O address for this port.
<address> is a hex value.
Default if this parameter is omitted is the default
address for the specified comms port.
-i<IRQ> Sets a non-standard IRQ number for the interrupt
on this port.
Default if this parameter is omitted is the default
IRQ number for the specified comms port.
-f<mode> Specifies the flow control mode for the port.
Possible values are :
-fn No flow control
-fs XON/XOF flow control
-fh1 RTS/CTS flow control **
-fh2 DTR/DSR flow control
Default if this parameter is omitted is "no flow
control".
** RTS/CTS flow control is recommended for
use with most modems.
CAPTURE
Function
CAPTURE is the client program in the COMROUTE package. It
runs on a PC which has communications software that can be
configured to use INT14.
CAPTURE locates servers by polling for them. If you specify a
server using the -n option, CAPTURE will search for that server.
If the server is not specified or not found, CAPTURE will load
but will not connect until UTIL is used to specify a connection.
Note that you can set the flow control used by the server when
loading CAPTURE. This is to allow multiple clients to use
different flow-control modes if required.
Parameters
-n<name> Sets the name of the server to connect to.
Default if this parameter is omitted is to load but
not to connect to a server.
-c<port> Sets the port number to be emulated by
CAPTURE. Can be in the range 1 to 9.
Default if this parameter is omitted is port 1.
-f<mode> Specifies the flow control mode for the server
port. Possible values are :
-fn No flow control
-fs XON/XOF flow control
-fh1 RTS/CTS flow control **
-fh2 DTR/DSR flow control
Default if this parameter is omitted is "no flow
control".
** RTS/CTS flow control is recommended for
use with most modems.
UTIL
UTIL is a program which contains display and utility functions
for both OFFER and CAPTURE.
Its functions are all started by command line options.
Unload CAPTURE / OFFER from memory
Syntax : UTIL -u
Applies to : CAPTURE and OFFER
This function unloads CAPTURE or OFFER from memory,
provided that no other TSRs have been loaded after them. If
necessary, a disconnection is also performed.
Disconnect Client from Server
Syntax : UTIL -d
Applies to : CAPTURE and OFFER
This function disconnects (breaks) the link between CAPTURE
and OFFER. Another client may then connect. Note that the
disconnection may be made at either the client or the server.
Display Configuration
Syntax : UTIL -c
Applies to : OFFER
This function displays the configuration of the server.
Display Configuration continuously
Syntax : UTIL -C
Applies to : OFFER
This function displays the configuration of the server, refreshing
regularly. Press Escape to stop the display.
Display Statistics
Syntax : UTIL -s
Applies to : CAPTURE and OFFER
This function displays statistics relating to IPX and serial
communications.
Display Statistics Continuously
Syntax : UTIL -S
Applies to : CAPTURE and OFFER
This function displays statistics relating to IPX and serial
communications, refreshing regularly. Press Escape to stop the
display.
Change Flow-Control Mode
Syntax : UTIL -f<mode>
Applies to : CAPTURE and OFFER
Possible values of <mode> are :
-fn No flow control
-fs XON/XOF flow control
-fh1 RTS/CTS flow control **
-fh2 DTR/DSR flow control
** RTS/CTS flow control is recommended for
use with most modems.
Poll for Servers and select connection
Syntax : UTIL -p
Applies to : CAPTURE
This function searches for all servers (copies of OFFER) visible
on the network and lists them. The user can then select one to
connect to.
Poll for Servers and make connection
Syntax : UTIL -P<name>
Applies to : CAPTURE
This function searches for all servers (copies of OFFER) visible
on the network. If the server specified by <name> is found, it is
connected to.
ERROR MESSAGES
CAPTURE
Error-CAPTURE already installed
CAPTURE is already resident in memory. CAPTURE
will not be re-loaded.
No servers detected
A poll failed to discover any servers on the network.
CAPTURE will still be loaded, but will remain inactive
until at least one server is available. Connection can then
be made using UTIL -p or UTIL -P to poll for servers
again.
Error-Invalid parameter
An invalid command-line parameter was entered. Please
correct the parameter and try again.
Error-IPX support not present
IPX support is not currently loaded. Please refer to your
network software manuals.
Error-IPX error code
An IPX processing or communications error was
detected. The error number is displayed. See separate list
for codes.
Fatal-out of memory
The program ran out of heap. Please report this error if
encountered.
OFFER
OFFER is already installed
OFFER is already resident in memory. OFFER will not
be re-loaded.
Fatal : error allocating memory
Fatal : out of memory
The program ran out of heap. Please report this error if
encountered.
Error-Invalid parameter
An invalid command-line parameter was entered. Please
correct the parameter and try again.
Fatal comms open error
A fatal error was encountered opening the comms port.
An error number is displayed. See separate list for codes.
Error-IPX support not present
IPX support is not currently loaded. Please refer to your
network software manuals.
Error-IPX error code
An IPX processing or communications error was
detected. The error number is displayed. See separate list
for codes.
Licence violation detected
Operation suspended
More than one copy of OFFER with the same serial
number was detected on the network. Please unload all
extra copies.
Shareware version time-out
Operation suspended
The one-hour time limit on the shareware version has
been reached. It will be necessary to re-boot the server to
continue using COMROUTE.
UTIL
OFFER or CAPTURE are not currently installed
OFFER or CAPTURE are not loaded. Please load one of
them before running UTIL.
-c option is not valid for CAPTURE
The -c option only applies to OFFER, which is not loaded
on this PC.
-p option is not valid for OFFER
The -p option only applies to CAPTURE, which is not
loaded on this PC.
** FATAL : Invalid parameter
An invalid command-line parameter was entered. Please
correct the parameter and try again.
Error - can't unload OFFER due to TSR installed after it
Error - can't unload CAPTURE due to TSR installed after it
Another TSR program has been installed after OFFER or
CAPTURE. It is not possible to unload at this time.
Unload request denied
OFFER declined to unload, because of shareware time-
out or licence violation detected.
Already connected to server
using UTIL -d before polling for servers.
No servers located - cannot connect
Polling failed to locate any available servers on the
network. If servers are present, they may already be
connected to another client.
REGISTRATION
Please support the Shareware concept by registering this program
if you find it useful.
Registering COMROUTE will bring the following benefits :
1) Printed manual (if delivered by mail)
2) Latest registered version of COMROUTE will be
delivered.
3) The next major version of COMROUTE will be delivered
to you free of charge.
4) Support will be given via e-mail or post.
Registration costs £ 40 sterling or $ 60 US. You may register by
the following means :
1) By post to :
Mr R J Crowther
20, Howe Road
Haverhill
Suffolk
CB9 9NJ
England
Please send either a personal cheque in sterling, or a
money order for $ US. If you have no alternative, send
notes/bills. All payments are sent at the sender's risk.
Other forms of payment are not accepted at present.
Please ask if you have a problem with these forms of
payment.
2) On CompuServe, through the SWREG forum. This
facility may not be available immediately, so please be
patient.
SUPPORT
I will support registered users in the following ways :
1) By e-mail
Please mail your queries to me via 100255,660 on
Compuserve, or via the Internet to
100255,660@COMPUSERVE.COM
2) By post to :
Mr R J Crowther
20, Howe Road
Haverhill
Suffolk
CB9 9NJ
England
SUPPORT TO SHAREWARE USERS
I may be able to help Shareware users, provided queries are sent
by e-mail only. Time may limit the amount of support given to
Shareware users - to obtain full support please register !
Release History
Version 1.00 Beta release 11/03/95